package xin.codedream.codelog.service;

import xin.codedream.codelog.model.entity.Tag;

import java.util.List;

/**
 * 标签功能业务层
 *
 * @author NGLSL
 * @date 2018/8/13
 */
public interface TagsService {
    /**
     * 获取所有目录列表
     *
     * @param pageSize 第N页
     * @param pageNum  多少条数据
     * @return List<Category>
     */
    List<Tag> findAllTags(Integer pageNum, Integer pageSize);

    /**
     * 通过标签名获取标签信息
     *
     * @param tagName 标签名称
     * @return Tags
     */
    Tag findTagByName(String tagName);

    /**
     * 保存标签
     *
     * @param tag 标签
     * @return Tags
     */
    Tag saveTag(Tag tag);

    /**
     * 将标签字符串转为标签集合
     *
     * @param tags 标签
     * @return List
     */
    List<Tag> strConversionToTags(String tags);

    /**
     * 通过标签Id删除标签
     *
     * @param tagId 标签ID
     * @return boolean
     */
    boolean removeTagByTagId(Long tagId);

    /**
     * 删除标签
     *
     * @param tagId 标签ID
     * @return boolean
     */
    boolean removeTag(Long tagId);

    /**
     * 通过标签ID获取标签信息
     *
     * @param tagId 标签Id
     * @return Tag
     */
    Tag findTagInfoByTagId(Long tagId);
}
